sort: fix workshop search missing current display names - #5921
Open
Alistair-Afton wants to merge 3 commits into
Open
Alistair-Afton wants to merge 3 commits into
Alistair-Afton wants to merge 3 commits into
Conversation
Searching the Places/Workshops list for 'Stoneworker's Workshop' found nothing because the search key was built from the enum item name and a stale df-structures name attr. Add each workshop's getName() output to the search key so searches match what the list actually displays, and cover custom workshop names (e.g. 'Screw Press') that have no enum attr at all.
Alistair-Afton
force-pushed
the
fix-workshop-search-names
branch
from
September 17, 2026 11:19
0e87836 to
4e3c712
Compare
ab9rf
requested changes
Sep 17, 2026
| -- the display name may differ from the enum item name (e.g. | ||
| -- Masons -> "Stoneworker's Workshop") and is the raw-defined | ||
| -- name for custom workshops | ||
| local name = df.new('string') |
Member
There was a problem hiding this comment.
consider using dfhack.buildings.getName here; this convenience method avoids having to manually construct the output parameter - which you're leaking because you didn't delete it afterwards
Contributor
Author
There was a problem hiding this comment.
Done in 1138e90 - both sites now use dfhack.buildings.getName instead of df.new('string').
| -- the display name may differ from the enum item name (e.g. Masons -> | ||
| -- "Stoneworker's Workshop") and is the raw-defined name for custom | ||
| -- workshops | ||
| local name = df.new('string') |
Member
There was a problem hiding this comment.
same issue here - this code leaks the string created with df.new
Contributor
Author
There was a problem hiding this comment.
Done in 1138e90 - both sites now use dfhack.buildings.getName instead of df.new('string').
Contributor
Author
|
Done — switched both sites to dfhack.buildings.getName, which returns the name directly and drops the leaked df.new('string') allocations. |
ab9rf
approved these changes
Sep 18, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Masons) and a stale df-structures name attr ("Mason's Workshop")getName()output to the search key so searches match what the list actually displaysplugins.sort.infoTesting
get_search_key_fnfrom the Places overlay and ran it on real workshops: Masons workshops now produce "Stoneworker's Workshop" in their key, and custom workshops produce their real names